import { defineConfig } from "vite";
import path from "node:path";
import electron from "vite-plugin-electron/simple";
import vue from "@vitejs/plugin-vue";

export default defineConfig({
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "src"), // 添加别名以简化路径引用
      "@router": path.resolve(__dirname, "src/router"), // 别名指向 router 文件夹
    },
  },
  plugins: [
    vue(),
    electron({
      main: {
        entry: "electron/main.ts",
      },
      preload: {
        input: path.join(__dirname, "electron/preload.ts"),
      },
      renderer: process.env.NODE_ENV === "test" ? undefined : {},
    }),
  ],
  build: {
    rollupOptions: {
      input: {
        main: path.resolve(__dirname, "index.html"), // 主入口文件
        // 如果有其他入口文件，可以在这里添加
      },
      output: {
        assetFileNames: "assets/[name].[ext]", // 资源文件命名规则
        chunkFileNames: "assets/[name].js", // 分割后的代码块命名规则
        entryFileNames: "assets/[name].js", // 入口文件命名规则
      },
      external: [], // 确保没有不必要的外部依赖排除
      preserveEntrySignatures: "strict", // 保持入口签名严格
    },
  },
});
